import java.util.Stack;

public class Test {

    public static void main(String[] args) {
        BinaryTree binaryTree = new BinaryTree();
        BinaryTree.TreeNode root = binaryTree.printTree();
        System.out.println("==========");
        binaryTree.perOrder(root);
        System.out.println();
        binaryTree.inOrder(root);
        System.out.println();
        binaryTree.postOrder(root);
        System.out.println();
        int count =binaryTree.size(root);
        System.out.println(count);
        int count1=binaryTree.getLeafNodeCount(root);
        System.out.println(count1);
        int count2=binaryTree.getKLevelNodeCount(root,3);
        System.out.println(count2);
        int high=binaryTree.getHeight(root);
        System.out.println(high);
    }

//    public static void main1(String[] args) {
//        Stack<Integer>  stack=new Stack<Integer>();
//        stack.push(1);
//        stack.push(2);
//        stack.push(3);
//        stack.push(4);
//        Integer a=stack.pop();
//        System.out.println(a);
//        Integer b=stack.pop();
//        System.out.println(b);
//        Integer c=stack.peek();
//        System.out.println(c);
//    }



}
